This application relates to a logic device for enforcing financial compliance rules and to a network interface device adapted to support such a logic device.
Recent years have seen a marked increase in automated trading on stock markets to the extent that, today, almost all financial trading has been computerised and trade execution automated with even the most basic trades being algorithmically assisted. Hand in hand with computerisation has been a huge increase in the speeds at which trading algorithms operate and the frequency at which the algorithms trade on the markets. This has led to somewhat of a technological arms race between market participants.
Very high trading speeds are now required in order to respond in a timely manner to market data and execute trades without being outperformed by other dealers who are able to trade at a shorter timescale. Market data can include the baseline data reported by the financial exchange in its data feeds, such as the buy and sell price of securities, as well as the trades and offers of other participants in the market. Responses to market data may also be required in order to provide a number of fundamental market functions, including acting as a market maker and maintaining a position in the exchange's book, and discovering liquidity and prices.
For all of these reasons, trading engines are increasingly being connected directly to exchange market data feeds and the algorithms themselves are largely required to operate autonomously. In order to react, process and trade within very short timescales (often under 10 microseconds) these algorithms simply do not have time to communicate internally with other computer systems, or even with other threads on the same machine. These timescales makes it difficult to effectively monitor and control the algorithms and all but rules out human intervention as a useful way of preventing dangerous trading behaviour. At scale, managing these trading engines becomes even more problematic, particularly tracking the position of a particular algorithm, assessing risk, and controlling an algorithm that has breached risk boundaries or is otherwise exhibiting erroneous behaviour. The penalty for failure to manage trading engines can be catastrophic to the trading enterprise and to the market, as demonstrated in August 2012 by the rapid trading disruption caused by Knight Capital's automated trading activities.
There is therefore a need for a mechanism by which risk boundaries can be enforced for high-speed trading engines.
Concerns about the ingress and egress data flows to and from a network entity may extend beyond trading applications. For example a server on a network may become compromised and may send out malicious or erroneous messages to other end-points on a network. In another example, a network entity may receive compromised communications from further network entities or endpoints which may affect the functionality of the receiving network entity.
Therefore the trustworthiness of communications to and from an entity on a network may also be of concern.